package com.zjsru.plan2024.oneday;

/**
 * 3099. 哈沙德数
 * @Author: cookLee
 * @Date: 2024-07-03
 */
public class SumOfTheDigitsOfHarshadNumber {

    /**
     * 主
     * \
     * 输入： x = 18
     * 输出： 9
     * 解释：
     * x 各个数位上的数字之和为 9 。18 能被 9 整除。因此 18 是哈沙德数，答案是 9
     * \
     * 输入： x = 23
     * 输出： -1
     * 解释：
     * x 各个数位上的数字之和为 5 。23 不能被 5 整除。因此 23 不是哈沙德数，答案是 -1 。
     * \
     * @param args args
     */
    public static void main(String[] args) {
        SumOfTheDigitsOfHarshadNumber sumOfTheDigitsOfHarshadNumber = new SumOfTheDigitsOfHarshadNumber();
        int x = 18;
        System.out.println(sumOfTheDigitsOfHarshadNumber.sumOfTheDigitsOfHarshadNumber(x));
    }

    /**
     * harshad数数字总和:模拟
     *
     * @param x x
     * @return int
     */
    public int sumOfTheDigitsOfHarshadNumber(int x) {
        int copy = x;
        int sum = 0;
        while (x > 0) {
            sum += x % 10;
            x = x / 10;
        }
        return copy % sum == 0 ? sum : -1;
    }

}
